Page({
  data: {
    countDownVisible: false,
    mobile:'18060635219',
    code:'',
    backTo:''
  },
  // 页面一加载，就获取页面地址
  onLoad({backTo}){
    this.setData({backTo})
  },
  countDownChange(ev) {
    this.setData({
      timeData: ev.detail,
      countDownVisible: ev.detail.minutes === 1 || ev.detail.seconds > 0,
    })
  },

  // 封装 校验手机号！！！
  verifyMobile() {
    const reg = /^1[3-9]\d{9}$/
    const flag = reg.test(this.data.mobile.trim())  //校验结果
    if(!flag) wx.utils.toast('手机号格式有问题')  //校验不通过，提示
    return flag
  },
  
  // 验证验证码
  verifyCode() {
    // 验证码为6位数字
    const reg = /^\d{6}$/
    // 验证验证码
    const valid = reg.test(this.data.code.trim())
    // 验证结果提示
    if (!valid) wx.utils.toast('请检查验证码是否正确!')
    // 返回验证结果
    return valid
  },

  // 获取验证码
 async getCode() {
    if(!this.verifyMobile()) return   //校验不通过，直接return

    // 发送请求
    const {data,code} = await wx.http.get('/code',{
      mobile:this.data.mobile.trim()  //注意：这里携带参数，不需要params，直接携带
    })
    if(code !== 10000) return wx.utils.toast('验证码获取失败')
    // 开启倒计时
    this.setData({ countDownVisible:true })

    // 设置系统剪切板 的内容(可选)
    wx.setClipboardData({ data:data.code })
  },

  // 登录
 async submitForm() {
  // 校验不通过，直接return
    if(!this.verifyMobile()) return
    if(!this.verifyCode()) return
    
    const {mobile,code} = this.data
    // 发请求
    const {data,code:statusCode} = await wx.http.post('/login',{ mobile,code })
    // 判断
    if(statusCode !== 10000) return wx.utils.toast()
    console.log(data)

    // 存储token（全局+本地）注意：这里app.js封装全局存token,
    // getApp().token = data.token
    // wx.setStorageSync('token',data.token)
    getApp().setToken(data.token,data.refreshToken)  //存储refreshToken

    //跳转页面
    // 注意：回跳页面时，一定要覆盖
    // 注意：跳转tabBar页面,需要用switchTab跳转,(处理手机上无法跳转tab页面bug)
    const url = this.data.backTo
    wx[url === '/pages/my/index' ? 'switchTab' : 'redirectTo']({ url })
    // wx.redirectTo({
    //   url:this.data.backTo
    // })
  }
})
